using System;
using System.Collections;
using System.Collections.Generic;

using QLKS.DataLayer.Base;

namespace QLKS.DataLayer.BusinessObjects
{
    public partial class CTHoaDon : BusinessBase<int>
    {
        #region Declarations

		private decimal? _soNgayThue = null;
		private decimal? _soTienPhuThu = null;
		private decimal? _donGiaTheoHeSo = null;
		private decimal? _thanhTien = null;
		
		private CTPhieuThuePhong _cTPhieuThuePhong = null;
		
		private IList<HoaDon> _hoaDons = new List<HoaDon>();
		
		#endregion

        #region Constructors

        public CTHoaDon() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            
            sb.Append(this.GetType().FullName);
			sb.Append(_soNgayThue);
			sb.Append(_soTienPhuThu);
			sb.Append(_donGiaTheoHeSo);
			sb.Append(_thanhTien);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties

		public virtual decimal? SoNgayThue
        {
            get { return _soNgayThue; }
			set
			{
				OnSoNgayThueChanging();
				_soNgayThue = value;
				OnSoNgayThueChanged();
			}
        }
		partial void OnSoNgayThueChanging();
		partial void OnSoNgayThueChanged();
		
		public virtual decimal? SoTienPhuThu
        {
            get { return _soTienPhuThu; }
			set
			{
				OnSoTienPhuThuChanging();
				_soTienPhuThu = value;
				OnSoTienPhuThuChanged();
			}
        }
		partial void OnSoTienPhuThuChanging();
		partial void OnSoTienPhuThuChanged();
		
		public virtual decimal? DonGiaTheoHeSo
        {
            get { return _donGiaTheoHeSo; }
			set
			{
				OnDonGiaTheoHeSoChanging();
				_donGiaTheoHeSo = value;
				OnDonGiaTheoHeSoChanged();
			}
        }
		partial void OnDonGiaTheoHeSoChanging();
		partial void OnDonGiaTheoHeSoChanged();
		
		public virtual decimal? ThanhTien
        {
            get { return _thanhTien; }
			set
			{
				OnThanhTienChanging();
				_thanhTien = value;
				OnThanhTienChanged();
			}
        }
		partial void OnThanhTienChanging();
		partial void OnThanhTienChanged();
		
		public virtual CTPhieuThuePhong CTPhieuThuePhong
        {
            get { return _cTPhieuThuePhong; }
			set
			{
				OnCTPhieuThuePhongChanging();
				_cTPhieuThuePhong = value;
				OnCTPhieuThuePhongChanged();
			}
        }
		partial void OnCTPhieuThuePhongChanging();
		partial void OnCTPhieuThuePhongChanged();
		
		public virtual IList<HoaDon> HoaDons
        {
            get { return _hoaDons; }
            set
			{
				OnHoaDonsChanging();
				_hoaDons = value;
				OnHoaDonsChanged();
			}
        }
		partial void OnHoaDonsChanging();
		partial void OnHoaDonsChanged();
		
        #endregion
    }
}
